iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
Kubernetes

一起來看 Kubernetes 官方文件吧!系列 第 2

Day02 - 一起來看 Kubernetes 官方文件吧! - 常見的 k8s 安裝工具

  • 分享至 

  • xImage
  •  

前言

第一天就從 Getting Started 開始吧!

今日目標

  • 認識建立 k8s cluster 的幾種方式

https://kubernetes.io/docs/tasks/tools/

此文件介紹了四個組件:kubectl, kind, minikube, kubeadm
其中 kubectl 是 k8s 的前端介面指令,這邊我們先略過不談
其餘三個都是可以提供建立 k8s cluster 的指令,以下會先簡略說明:
後續會先以 minikube 測試看看,後再用 kubeadm 來建立接下來的測試環境。

kind

https://kind.sigs.k8s.io/

# 建立一個預設值的 cluster
kind create cluster

kind 的全稱為 Kubernetes in docker,顧名思義,就是透過 docker container 來跑起 kubernetes
原理是 kind 會使用一張叫做 kindest/node:${k8s_version} 的 image 來執行 container,而這個 container 會執行上述介紹的 kubeadm 指令來建立 k8s cluster
這樣的 container 用法會比較像是把 container 當作 VM 來用 (類似直接使用 ubuntu image 然後自己裝 k8s)
因此理論上只要是能夠使用 docker/podman 的環境上,只要安裝 kind 指令之後,就可以很快速的建立一個 k8s cluster。
指令使用也非常間單,就是直接呼叫 kind 即可

在 k8s 官方文件內的範例中,也可以看到使用 kind 來快速建立一個暫時測試用的 k8s cluster (e.g. https://kubernetes.io/docs/tutorials/security/cluster-level-pss/)

minikube

https://minikube.sigs.k8s.io/docs/start/?arch=/macos/arm64/stable/binary+download

# 建立一座 k8s cluster 並指定使用的 cpu/memory
minikube start --memory=8192mb --cpus=4

與 kind 類似,比較偏向於建立一座測試用的 k8s cluster,可以在各種的作業系統上執行 (e.g. Windows, macOS and Linux)
需求的資源也不大,從官方文件可以看到需求資源如下:

基本上只要是台電腦應該都可以符合上述的需求。
最後一點比較有趣,和 kind 不同,除了 Docker 以外,minikube 主要是使用 VM 的方式來提供 k8s cluster
查看 minikube 的 drivers 文件頁面,可以看到每種作業系統支援的安裝方式 https://minikube.sigs.k8s.io/docs/drivers/
以 Windows 為例,主要是透過:

  • Hyper-V - VM
  • Docker - VM + Container (註:在 windows 上要跑 docker 會先開一個 linux vm 來做)

透過 minikube,我們就可以在 windows 上面建立一個 k8s cluster 學習使用了。

kubeadm

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

kubeadm 是官方直接維護的安裝方式,光是看安裝文件說明的內容就可以發現, kubeadm 所需的前置作業較多,並且僅支援 “A compatible Linux host” 的作業系統,就無法直接使用 windows 來進行安裝
因此若是要在 windows 下的環境使用,就必須自己額外處理建立出幾台 Linux OS VM 來做使用,再透過 kubeadm 來建立 k8s cluster
kubeadm 的設定跟注意事項較多,也是這次挑戰預計主要使用的安裝方式,細節的部分就留到後面的天數再說囉 ~

結論

因為我之前有試用過 kind 的關係,我打算跳過 kind 的部分,安裝 cluster 的部分會:

  • 先用 minikube 建立測試環境,並且研究一些指令
  • 再用 kubeadm 建立正式環境,研究相對應的流程與 best practice

接下來讓我們在 windows 上面跑 minikube 吧!

參考

https://kubernetes.io/docs/tasks/tools/

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

https://minikube.sigs.k8s.io/docs/start/?arch=/macos/arm64/stable/binary+download

https://kind.sigs.k8s.io/


上一篇
Day01 - 一起來看 Kubernetes 官方文件吧! - 話說從頭
下一篇
Day03 - 一起來看 Kubernetes 官方文件吧!- minikube (上)
系列文
一起來看 Kubernetes 官方文件吧!19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言